home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et3_0-a1.lha / et3 / src / Manager.h < prev    next >
C/C++ Source or Header  |  1992-07-16  |  3KB  |  128 lines

  1. #ifndef Manager_First
  2. #ifdef __GNUG__
  3. //pragma once
  4. #pragma interface
  5. #endif
  6. #define Manager_First
  7.  
  8. #include "EvtHandler.h"
  9. #include "Point.h"
  10. #include "WindowSystem.h"
  11. #include "Window.h"
  12.  
  13. class Menu;
  14. class ObjList;
  15. class CommandProcessor;
  16. class Application;
  17. class Window;
  18. class Command;
  19. class MenuBar;
  20. class VObject;
  21. class Button;
  22. class Token;
  23. class OrdCollection;
  24. class TextViewOverlay;
  25.  
  26. enum MgrDismiss {
  27.     eMgrClose,
  28.     eMgrHide,
  29.     eMgrIconize
  30. };
  31.  
  32. //---- Manager -----------------------------------------------------------------
  33.  
  34. class Manager : public EvtHandler {
  35. public:
  36.     MetaDef(Manager);
  37.  
  38.     Manager(char *title= 0, MgrDismiss md= eMgrHide, WindowType wt= eWinStandard);
  39.     Manager(Manager*, char *title= 0, MgrDismiss md= eMgrHide, WindowType wt= eWinStandard);
  40.     ~Manager();
  41.     
  42.     //---- misc
  43.     void Init(Manager*, char *name, MgrDismiss oc, WindowType wt);
  44.     virtual void SetName(char *name);
  45.     char *GetName();
  46.     bool IsEqual(Object*);
  47.     bool IsOpen();
  48.     void CollectParts(Collection*);
  49.     void InspectorId(char *buf, int bufSize);
  50.     
  51.     //---- change management
  52.     CommandProcessor *GetCmdP();
  53.     virtual CommandProcessor *MakeCmdProcessor();
  54.     void ClearCmdProcessor();
  55.     
  56.     //---- managers
  57.     virtual void Open();
  58.     void OpenAt(VObject *fp, Point p, bool resize= FALSE, bool block= FALSE);
  59.     virtual bool Close();       // return TRUE if OK
  60.     virtual void Show();
  61.     virtual int Run();
  62.     void Hide();
  63.     virtual bool AboutToDismiss();
  64.     bool Dismiss();
  65.     virtual void Iconize();
  66.  
  67.     Iterator *MakeIterator();
  68.     int Size();
  69.     virtual void AddManager(Manager*);
  70.     virtual void RemoveManager(Manager*);
  71.     virtual Manager *FindManager(int id);
  72.     void SetNextManager(Manager *mp);
  73.     EvtHandler *GetNextHandler();
  74.     virtual int UniqueId();
  75.  
  76.     //---- events
  77.     void SetActive(bool);
  78.     void InputKbd(Token &t);
  79.     void SetFirstHandler(EvtHandler *eh);
  80.     EvtHandler *GetFirstHandler()
  81.     { return firstHandler; }
  82.     Button *GetDefaultButton();
  83.     void TabFields(Token &t);
  84.     void ExtCommand(int from, char *req, char *args, int len, char *&ret, int &retlen);
  85.     void Control(int id, int part, void *vp);
  86.     void SendDown(int id, int part, void *val);
  87.     TextViewOverlay *GetTextViewOverlay();
  88.  
  89.     //---- windows
  90.     virtual Window *DoMakeWindows();
  91.     virtual VObject *DoMakeContent();
  92.     virtual VObject *DoMakeIconContent();
  93.     virtual void MakeWindows();
  94.     virtual Point GetInitialPos(Point e);
  95.     virtual Point GetInitialWindowPos();
  96.     virtual Point GetInitialWindowSize();
  97.     virtual void SetWindowTitle(char *title);
  98.     Window *GetWindow();
  99.     void SetOnDismiss(MgrDismiss md);
  100.  
  101.     //---- menues
  102.     virtual MenuBar *DoMakeMenuBar();
  103.     virtual Menu *MakeMenu(int menuId);
  104.     void DoSetupMenu(Menu*);
  105.     Command *DoMenuCommand(int);
  106.     void PerformCommand(Command*);
  107.     Menu *GetMenu();
  108.     MenuBar *GetMenuBar();
  109.  
  110. protected:
  111.     WindowType wtype;
  112.     WindowFlags wflags;
  113. private:
  114.     Manager *nextManager;
  115.     OrdCollection *managers;
  116.     Menu *menu;
  117.     MenuBar *menubar;
  118.     Window *window;
  119.     EvtHandler *firstHandler;
  120.     CommandProcessor *cmdp;
  121.     MgrDismiss dismiss;
  122.     char *name;
  123.     TextViewOverlay *tvo;
  124. };
  125.  
  126. #endif
  127.  
  128.